In programs and models, it sometimes is desirable to operate on “composite data.” Composite data, as used herein, refers to data that includes more than one data element. The data elements of a composite data are not required to be organized in a given manner. The data elements of a composite data may be of different data types or different dimensions. For example, a composite data may include any combination of a scalar data, a vector data, a matrix data, an array of data, etc. One example of composite data is a composite signal. A composite signal is a signal that contains other signals.
In some graphical programs and models, special blocks may be used to process composite data because other types of blocks, such as blocks for non-composite data, may not be capable of processing composite data.
In some textual programs and models, special functions may be used to operate on composite data because conventional functions that are designed for non-composite data do not work properly on composite data.
Some programming languages may have templates used in conjunction with classes that are constructed to operate on multiple data types and data classes. The data classes may include an array of objects of different class types. However, these data classes may need to share a base class or a similar mechanism to provide a way to process the multiple data types and data classes. Unlike these templates, the elements of a composite data are not required to share a base class or a similar mechanism.